home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 March / PCWMAR09.iso / Software / Freeware / Adobe Media Player 1.6 / adobe_media_player.air / AMP.swf / scripts / mx / logging / AbstractTarget.as next >
Encoding:
Text File  |  2008-11-25  |  3.4 KB  |  136 lines

  1. package mx.logging
  2. {
  3.    import mx.core.IMXMLObject;
  4.    import mx.core.mx_internal;
  5.    import mx.logging.errors.InvalidFilterError;
  6.    import mx.resources.IResourceManager;
  7.    import mx.resources.ResourceManager;
  8.    import mx.utils.UIDUtil;
  9.    
  10.    use namespace mx_internal;
  11.    
  12.    public class AbstractTarget implements ILoggingTarget, IMXMLObject
  13.    {
  14.       mx_internal static const VERSION:String = "3.2.0.3958";
  15.       
  16.       private var _level:int = 0;
  17.       
  18.       private var _loggerCount:uint = 0;
  19.       
  20.       private var _id:String;
  21.       
  22.       private var _filters:Array;
  23.       
  24.       private var resourceManager:IResourceManager;
  25.       
  26.       public function AbstractTarget()
  27.       {
  28.          resourceManager = ResourceManager.getInstance();
  29.          _filters = ["*"];
  30.          super();
  31.          _id = UIDUtil.createUID();
  32.       }
  33.       
  34.       public function get level() : int
  35.       {
  36.          return _level;
  37.       }
  38.       
  39.       public function set level(param1:int) : void
  40.       {
  41.          Log.removeTarget(this);
  42.          _level = param1;
  43.          Log.addTarget(this);
  44.       }
  45.       
  46.       public function logEvent(param1:LogEvent) : void
  47.       {
  48.       }
  49.       
  50.       public function addLogger(param1:ILogger) : void
  51.       {
  52.          if(param1)
  53.          {
  54.             ++_loggerCount;
  55.             param1.addEventListener(LogEvent.LOG,logHandler);
  56.          }
  57.       }
  58.       
  59.       public function initialized(param1:Object, param2:String) : void
  60.       {
  61.          _id = param2;
  62.          Log.addTarget(this);
  63.       }
  64.       
  65.       public function get id() : String
  66.       {
  67.          return _id;
  68.       }
  69.       
  70.       private function logHandler(param1:LogEvent) : void
  71.       {
  72.          if(param1.level >= level)
  73.          {
  74.             logEvent(param1);
  75.          }
  76.       }
  77.       
  78.       public function removeLogger(param1:ILogger) : void
  79.       {
  80.          if(param1)
  81.          {
  82.             --_loggerCount;
  83.             param1.removeEventListener(LogEvent.LOG,logHandler);
  84.          }
  85.       }
  86.       
  87.       public function set filters(param1:Array) : void
  88.       {
  89.          var _loc2_:String = null;
  90.          var _loc3_:int = 0;
  91.          var _loc4_:String = null;
  92.          var _loc5_:uint = 0;
  93.          if(Boolean(param1) && param1.length > 0)
  94.          {
  95.             _loc5_ = 0;
  96.             while(_loc5_ < param1.length)
  97.             {
  98.                _loc2_ = param1[_loc5_];
  99.                if(Log.hasIllegalCharacters(_loc2_))
  100.                {
  101.                   _loc4_ = resourceManager.getString("logging","charsInvalid",[_loc2_]);
  102.                   throw new InvalidFilterError(_loc4_);
  103.                }
  104.                _loc3_ = int(_loc2_.indexOf("*"));
  105.                if(_loc3_ >= 0 && _loc3_ != _loc2_.length - 1)
  106.                {
  107.                   _loc4_ = resourceManager.getString("logging","charPlacement",[_loc2_]);
  108.                   throw new InvalidFilterError(_loc4_);
  109.                }
  110.                _loc5_++;
  111.             }
  112.          }
  113.          else
  114.          {
  115.             param1 = ["*"];
  116.          }
  117.          if(_loggerCount > 0)
  118.          {
  119.             Log.removeTarget(this);
  120.             _filters = param1;
  121.             Log.addTarget(this);
  122.          }
  123.          else
  124.          {
  125.             _filters = param1;
  126.          }
  127.       }
  128.       
  129.       public function get filters() : Array
  130.       {
  131.          return _filters;
  132.       }
  133.    }
  134. }
  135.  
  136.